package com.cmz.common.api.dto;

import java.io.Serializable;
import java.util.Date;

/**
 * 附件信息接口：原则上仅仅包含附件元数据，附件数据流的从附件服务中取得
 * @author cmz
 */
public interface StandardAttachInfo extends Serializable {

    /**
     * 获取附件批次 ID
     *
     * @return 附件批次 ID
     */
    String getBatchId();

    /**
     * 设置附件批次 ID
     *
     * @param batchId 附件批次 ID
     */
    void setBatchId(String batchId);

    /**
     * 获取附件 ID
     *
     * @return 附件 ID
     */
    String getAttachId();

    /**
     * 设置附件 ID
     *
     * @param attachId 附件 ID
     */
    void setAttachId(String attachId);

    /**
     * 获取文件名
     *
     * @return 文件名
     */
    String getFileName();

    /**
     * 设置文件名
     *
     * @param fileName 文件名
     */
    void setFileName(String fileName);

    /**
     * 获取文件扩展名
     *
     * @return 文件扩展名
     */
    String getExtFileName();

    /**
     * 这是文件扩展名
     *
     * @param extFileName 文件扩展名
     */
    void setExtFileName(String extFileName);

    /**
     * 获取文件大小
     *
     * @return 文件大小
     */
    Long getFileSize();

    /**
     * 设置文件大小
     *
     * @param fileSize 文件大小
     */
    void setFileSize(Long fileSize);

    /**
     * 获取上传时间
     *
     * @return 上传时间
     */
    Date getUploadTime();

    /**
     * 设置上传时间
     *
     * @param uploadTime 上传时间
     */
    void setUploadTime(Date uploadTime);

    /**
     * 获取文件MD5
     *
     * @return 文件MD5
     */
    String getMd5();

    /**
     * 设置文件MD5
     *
     * @param md5 文件MD5
     */
    void setMd5(String md5);

    /**
     * 获取用户ID
     *
     * @return 用户ID
     */
    String getUserId();

    /**
     * 设置用户ID
     *
     * @param userId 用户ID
     */
    void setUserId(String userId);

}
